package types

// RunMode 运行模式
//
// RunOnce 运行一次
// RunCorn 按定时任务运行,此时需要配置corn(默认30m)参数
type RunMode int

const (
	// RunOnce 只运行一次
	RunOnce RunMode = iota
	// RunCorn 按定时任务运行
	RunCorn
)

// String 返回运行模式的字符串表示
func (mode RunMode) String() string {
	switch mode {
	case RunOnce:
		return "once"
	case RunCorn:
		return "cron"
	default:
		return "unknown"
	}
}

// IsValid 检查运行模式是否有效
func (mode RunMode) IsValid() bool {
	return mode >= RunOnce && mode <= RunCorn
}
